/**
 * 指标状态类型
 */

export interface IndustryItem {
  count: number
  department: string
  key: string
  name: string
  unit: string
}
export interface QuotaItem {
  category: string
  categoryAnalysis: number
  // cgjybzIndustryDataHotmap: null
  // cgjybzIndustryDataPointMap: null
  city: string
  collectFlag: number | string
  dataSource: string
  dataSourceType: string
  dataUpdateFrequency: string
  datetime: string
  delFlag: number
  department: string
  detailList: number
  detailListName: string
  detailListNameComment: string
  district: string
  districtAnalysisHotmap: number
  districtAnalysisPointMap: number
  division: string
  // echartPieEntity: null
  // growthRate: null
  // growthRateUtil: null
  id: number
  domain: string
  industryKey: string
  industryName: string
  name: string
  industryType: string
  // lineBarVo: null
  moduleId: number
  // personLiable: null
  quotaId: number
  // quotaLimit: null
  quotaName: string
  rank: number
  // searchResult: null
  secondModuleName: string
  // strValue: null
  timeTrend: number
  type: string
  unit: string
  updateTime: string
  value: number | string
  seq?: number
  predictEntity: any | null
  prediction: any | null
  real: any | null
}

export interface QuotaDetailItem {
  columnsEntity: any | null
  detailEntity: any[] | null
  mapOutPutEntity: any | null
  pieOutPutEntity: any | null
}

export type IndustryItemOrNull = IndustryItem | null
export type QuotaDetailItemOrNull = QuotaDetailItem | null

export interface QuotaStoreState {
  industryList: IndustryItemOrNull[]
  quotaList: QuotaItem[]
  quotaDetail: QuotaDetailItemOrNull
  favList: QuotaItem[]
  priceList: QuotaItem[]
}

/**
 * 消息类型
 */

export interface MsgItem {
  id: number
  messageSubject: string
  recipient: string
  recipientId: string
  sender: string
  senderId: string
  files: string
  fileName: string
  content: string
  sendTime: string
  readStatus: number
}

export interface MsgStoreState {
  receiveList: MsgItem[]
  sendList: MsgItem[]
  currentItem: MsgItem
}
export interface IContactItem {
  name: string
}
export interface ContactStoreState {
  visible: boolean | string
  userId: string | number | undefined | null
  contactUserInfo: IContactor[]
  actionsList: IContactItem[]
  anomalyIndex: string | null
}

export interface IEventTimeItem {
  name: string
  value: string
}

export interface EventStoreState {
  time: string | null
  timeList: IEventTimeItem[]
  hotWordType: string | null
  rankType: number | null
  wordType: number | null
}
